Skip to main content
  1. Writing/

I Built BlogScroll To Save Personal Blogging From SEO Hell

·1139 words

Way back in 2020, I built something called BlogScroll. It’s a curated directory of personal websites and blogs, or, as kids call it these days - digital gardens (the breadth of the term, of course, is still debated). There is no “infrastructure” that I maintain for it beyond what’s out there in the open - it’s hosted entirely on GitHub, maintained by the community, and designed to solve a very specific problem: you can’t freakin’ find interesting personal content on the web anymore.

The idea behind BlogScroll is ridiculously simple: go to the site, pick a category that interests you (technology, photography, design, etc.), click on a random blog, and start reading something written by an actual human about their actual experiences. No ads, no nagging prompts to subscribe to Substack or Medium, no “10 Ways to Optimize Your Morning Routine in 2025” garbage.

The web we know got industrialized #

Try this experiment right now, in any browser or device. Go to Google and search for “personal blog”. This is what I see:

Google search results for "personal blog" show SEO-optimized content farms, not actual personal blogs.
Google search results for “personal blog” show SEO-optimized content farms, not actual personal blogs.

Those aren’t personal blogs. Aside from Martha Stewart somehow being on that list, all of these pages are useless to what I actually wanted to find. Homebrew-style personal pages where people talk about their interests. You know, stuff written by Jeff Atwood, Julia Evans, Scott Hanselman, and Jessie Frazelle. You know, the content people put thought and care in.

The links in that cursed Google search results page don’t point to actual personal blogs - they’re content farms optimized for search engines, designed to capture traffic and monetize your attention. The actual personal blogs, the ones where real people share their genuine thoughts and experiences, are buried on page 34 in the Google search results. At least.

As depressing as it may be, I think this happened because of three converging forces:

  1. SEO optimization turned content into a formula: “How to [VERB] [NOUN] in [CURRENT_YEAR].” Instead of writing about what’s there of interest, hordes of “SEO experts” decided that the best way forward is to game how search engines bring the content to the top, no matter how actually useful it is. But, don’t hate the player, hate the game, am I right? Incentives and all.
  2. AI content generation becoming accessible to everyone flooded the web with bland, mass-produced text. I recall in 2022 listening to a podcast where a founder of a startup built for “content augmentation” was bragging about the fact that they could generate hundreds of articles per day, per site with ChatGPT. Aside from the fact that the quality of that content is questionable, imagine competing on a topic with hundreds of AI-generated content pieces juiced to the max for discoverability. If you read this blog, you know I am not anti-AI by any stretch, the same way I am not anti-hammer. It’s a tool with it’s utility, but good grief did it also open Pandora’s box to clogging up the web pipes.
  3. Social media platforms trained us to consume bite-sized content instead of long-form writing. Writing a post on Bluesky or Mastodon is way easier than sitting down and creating a blog post. It goes the same way for consumption - it’s easier to scroll through a feed than sit down and read someone’s experience with make.

The result? The vibrant, weird, personal web got paved over by an endless strip mall of identical content stores. People became renters, rather than owners on the Internet.

Enter BlogScroll #

I built BlogScroll to be intentionally simple and unobtrusive. If you visit the page, you’ll notice that the design is super-boring. There are no analytics. No tracking pixels. No ads or affiliate links. It’s, quite literally, just an aggregator of personal sites.

BlogScroll is _stupidly_ simple and boring. This is by design.
BlogScroll is stupidly simple and boring. This is by design.

Over the past few years, that simplicity hid some of the really useful automation that I built behind the scenes:

  • Community curation: Anyone can submit their site via GitHub Issues.I then use GitHub Copilot to automatically generate the TOML changes and curate them in automated PRs.
  • Automated validation: GitHub Actions check that submitted links are valid.
  • Category organization: Sites are grouped by focus area, but not really split into many sub-categories. It’s dead-simple to see some key groups.
  • Search functionality: Quick filtering to find sites about specific topics without depending on a search engine.
  • Dead link detection: Automated monitoring ensures the directory stays fresh and you won’t end up with a HTTP 404 when clicking on a link.

The entire thing runs on GitHub Pages, costs nothing to operate, and the code is open source.

Why this matters #

Personal websites matter because they’re the antidote to algorithmic content. When someone builds their own site, they’re making a deliberate choice to own their corner of the internet. They’re writing for themselves first, their audience second, and the search engines not at all. That’s not to say that you don’t want your content to be discovered, but first and foremost the goal is to curate your own little garden.

This creates fundamentally different content. Instead of “5 JavaScript Frameworks You Must Learn in 2025,” you get posts like “I spent six months building a terrible chat app and here’s what I learned about WebSockets.” The first is content marketing. The second is knowledge sharing. I don’t know about you, but I’d much rather read more of the latter.

What you should do #

Selfishly, I want to encourage you to contribute to BlogScroll. To do that, you can follow a few steps:

If you already have a personal website:

  1. Go to github.com/blogscroll/blogscroll.
  2. Click “Issues” → “New Issue” → “Add Site”.
  3. Fill out the template with your site details.
  4. Submit and wait for review (I triage inbound requests frequently).

If you don’t have a personal website:

  1. Register a domain (I recommend Namecheap or Porkbun).
  2. Set up a simple static site with GitHub Pages, Netlify, or Vercel.
  3. Write your first post about literally anything you’re interested in.
  4. Add your site to BlogScroll.

If you just want to discover great content:

  1. Visit blogscroll.com.
  2. Pick a category that interests you.
  3. Click on five random sites.
  4. Explore what authors wrote about.
  5. Repeat weekly (or whenever you have time).

The goal isn’t to build the next viral content empire. It’s to contribute one authentic voice to the increasingly noisy web. BlogScroll currently lists a bit more than four hundred sites, but this is a drop in the bucket of the indie web. I am aspiring to list more sites there. Way more than what’s already there.

The web is what we make it. We can let it become a homogeneous content farm, or we can build a diverse ecosystem of genuine human voices.

What corner of the internet will you help build today?